package com.weijian.service;

import com.weijian.common.result.ApiResponse;
import org.springframework.scheduling.annotation.Async;

import java.util.concurrent.CompletableFuture;

public interface AlgorithmExecutionService {

    /**
     * 执行匹配算法
     *
     * @param taskId 任务ID
     * @return 算法执行结果
     */
    ApiResponse<String> executeMatchingAlgorithm(String taskId);

    /**
     * 异步执行匹配算法
     *
     * @param taskNo 任务编号，用于状态通知
     * @return 算法执行结果的CompletableFuture
     */
    @Async
    CompletableFuture<ApiResponse<String>> executeMatchingAlgorithmAsync(String taskNo);
}